package com.example.SMS;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;

import java.io.IOException;

public class LoginApplication extends Application {
    @Override
    public void start(Stage stage) throws IOException {

        //加载登录界面
        FXMLLoader loginLoader = new FXMLLoader(LoginApplication.class.getResource("login-view.fxml"));
        Scene scene = new Scene(loginLoader.load(), 1000, 600);

        //加载注册界面
        FXMLLoader registerLoader = new FXMLLoader(getClass().getResource("register-view.fxml"));
        Parent registerRoot = registerLoader.load();
        Scene registerScene = new Scene(registerRoot, 1000, 600);

        //加载管理员界面
        FXMLLoader managerLoader = new FXMLLoader(getClass().getResource("manager-view.fxml"));
        Scene managerScene = new Scene(managerLoader.load(), 1000, 600);

        //加载校内人员界面
        FXMLLoader oncampusLoader = new FXMLLoader(getClass().getResource("oncampus-view.fxml"));
        Scene oncampusScene = new Scene(oncampusLoader.load(), 1000, 600);

        //加载校外人员界面
        FXMLLoader offcampusLoader = new FXMLLoader(getClass().getResource("offcampus-view.fxml"));
        Scene offcampusScene = new Scene(offcampusLoader.load(), 1000, 600);

        // 获取登录控制器并设置所有场景
        LoginController loginController = loginLoader.getController();
        loginController.setStage(stage);
        loginController.setRegisterScene(registerScene);
        loginController.setManagerScene(managerScene);    // 添加这行
        loginController.setOncampusScene(oncampusScene);  // 添加这行
        loginController.setOffcampusScene(offcampusScene); // 添加这行

        // 获取注册控制器并传递 Stage 和 LoginScene
        RegisterController registerController = registerLoader.getController();
        registerController.setStage(stage);
        registerController.setLoginScene(scene);

        // 获取管理界面控制器
        ManagerViewController managerController = managerLoader.getController();
        managerController.setStage(stage);

        // 获取校内人员界面控制器
        OncampusViewController oncampusController = oncampusLoader.getController();
        oncampusController.setStage(stage);

        // 获取校外人员界面控制器
        OffcampusViewController offcampusController = offcampusLoader.getController();
        offcampusController.setStage(stage);

        stage.setTitle("Login");
        stage.setScene(scene);
        stage.show();
    }

    public static void main(String[] args) {
        launch();
    }
}

